/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var oTableAsignacion;
var tipo_confirmacion;
var vgl_var;
$(document).ready(function() {
      if( $('input[name="nombre_pagina"]').val() != null    ){
         oTable=$('#tableList').dataTable( {
               "bPaginate": true,
               "bLengthChange": false,
               "bFilter": true,
               "bSort": true,
               "bInfo": true,
               "bAutoWidth": false,
               "bDestroy":true,
               "sPaginationType": "full_numbers",
               //"sScrollY": "351px",
               "sAjaxSource": 'ServletDataTable?strpv_tipoListado=dtpv_reunion' ,
               "aoColumns": [
                   { "sTitle": "codigo_reunion" , "bVisible": false },
                   { "sTitle": "Nombre","sClass": "alignLeft" },
                   { "sTitle": "# Participantes" },
                   { "sTitle": "Fecha Reunion" ,"sClass": "alignLeft"}
               ]
           });
        $('#tableList tbody').delegate("tr", "click", rowClick);
   
    }
    $('#dialog-participantes').dialog({
                title: "Listado de Participantes",
		autoOpen: false,
		modal: true,
		width: 400,
		height: 400,
                buttons: {
                    "Cancelar": function() {
                        $( this ).dialog( "close" );
                    },
                    "Aceptar": function() {
                        $( this ).dialog( "close" );
                    }
                }
   }).parent('.ui-dialog').find('.ui-dialog-titlebar-close').hide();

   $('#dialog-asignacion').dialog({
                title: "Listado de Acuerdos",
		autoOpen: false,
		modal: true,
		width: 700,
		height: 400,
                buttons: {
                    "Cancelar": function() {
                        $( this ).dialog( "close" );
                    },
                   
                    "Agregar": function() {
                        
                            //--OBTENEMOS PARTICIPANTES
                             var sText = '';
                             var mapParameter= {};
                             mapParameter['metodo'] = 'obtenerListadoParticipantes';
                             mapParameter['strpv_codigoReunion'] = oTable.fnGetData(hlr)[0];
                             $.ajax({
                                 type: "POST",
                                 url: 'ServletObtener',
                                 data: mapParameter,
                                 async : true,
                                 dataType: "json",
                                 success: function( lst ){

                                     $.each(lst, function(index, obj) {
                                         sText += '<br/><input type="checkbox" name="checkUsers" value="'+obj.strpv_codigoEmpleado+'"> '+obj.strpv_nombreEmpleado+''                                     
                                     });
                                     $('#dialog-asignacion-div').html(sText);
                                 }
                             });
                             
                             
                            $('input[name="strpv_codigoAsignacion"]').val('');
                            $('input[name="strpv_codigoReunion"]').val('');
                            $('input[name="asignacion_strpv_nombre"]').val('');
                            $('input[name="asignacion_strpv_descripcion"]').val('');
                            $('input[name="strpv_fechaEstimada"]').val('');
                
                
                        $( '#dialog-form-asignacion' ).dialog( "open" );
                    }                    
                }
   }).parent('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
   
   
   $('#dialog-form-asignacion').dialog({
                title: "Agregar acuerdo",
		autoOpen: false,
		modal: true,
		width: 500,
		height: 550,
                buttons: {
                    "Cancelar": function() {
                        $( this ).dialog( "close" );
                    },
                    "Guardar": function() {
                        
                         var arr = Array();
                        $('input[name="checkUsers"]').each(function ( ) {
                            if (this.checked) {
                                arr[arr.length] = $(this).attr('value');
                                //console.log($(this).attr('id')); 
                            }
                        });

                        var mapParameter ={};
                        mapParameter['metodo'] = 'form_asignacion';
                        mapParameter['accion'] = 'actualizar';
                        mapParameter['strpv_codigoAsignacion'] = $('input[name="strpv_codigoAsignacion"]').val();
                        mapParameter['strpv_codigoReunion'] = oTable.fnGetData(hlr)[0];
                        mapParameter['strpv_nombreAsignacion'] = $('input[name="asignacion_strpv_nombre"]').val();
                        mapParameter['strpv_descripcionAsignacion'] = $('input[name="asignacion_strpv_descripcion"]').val();
                        mapParameter['strpv_fechaPlazo'] = $('input[name="strpv_fechaEstimada"]').val();
                        mapParameter['strpv_lstUsuario'] =  arr.join('|');
                        $.ajax({
                            type: "POST",
                            url: 'ServletMantenimiento',
                            data: mapParameter,            
                            async : true,
                            dataType: "json",
                            success: function( lst ){

                                var mapParam = {};
                                //mapParam["metodo"] = "obtenerListado";
                                mapParam["strpv_tipoListado"] = 'dtpv_asignacion';
                                mapParam["strpv_codigoReunion"] = oTable.fnGetData(hlr)[0] ;
                                oTableAsignacion.fnSettings().sAjaxSource = 'ServletDataTable?' + jQuery.param( mapParam );
                                oTableAsignacion.fnReloadAjax();
                                
                                $('#dialog-form-asignacion').dialog( "close" );
                            }
                        });
                        
                        
                        
                    }                  
                }
   }).parent('.ui-dialog').find('.ui-dialog-titlebar-close').hide();   


 $( "#dialog-confirm" ).dialog({
        resizable: false,
        closeOnEscape: false,
        dialogClass: 'no-close',
        autoOpen: false,
        height:140,
        width: 600,
        modal: true,
        buttons: {
            "SI": function() {
                $( this ).dialog( "close" );
                var mapParameter = {};
                switch( tipo_confirmacion ){
                    case "confirmacion_asignacion":
                        mapParameter['metodo'] = 'form_asignacion';
                        mapParameter['accion'] = 'eliminar';
                        mapParameter['strpv_codigoAsignacion'] = vgl_var;
                        $.ajax({
                            type: "POST",
                            url: 'ServletMantenimiento',
                            data: mapParameter,            
                            async : true,
                            dataType: "json",
                            success: function( obj ){
                                
                                var mapParam = {};
                                //mapParam["metodo"] = "obtenerListado";
                                mapParam["strpv_tipoListado"] = 'dtpv_asignacion';
                                mapParam["strpv_codigoReunion"] = oTable.fnGetData(hlr)[0] ;
                                oTableAsignacion.fnSettings().sAjaxSource = 'ServletDataTable?' + jQuery.param( mapParam );
                                oTableAsignacion.fnReloadAjax();

                                $( "#dialog-confirm" ).dialog( "close" );
                            }
                        });    
                        break;
                }
            },
            "NO": function() {
                $( this ).dialog( "close" );
            }
        }
   }).parent('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
    $('input[name="strpv_fechaReunion"]').datepicker( {
        setDate : new Date(),
        showOn: "button",
        buttonImage: "img/icon/schedule.png",
        buttonImageOnly: true,
        minDate: new Date(),
        dateFormat: 'dd/mm/yy'
    } );
    
    $('input[name="strpv_fechaEstimada"]').datepicker( {
        setDate : new Date(),
        showOn: "button",
        buttonImage: "img/icon/schedule.png",
        buttonImageOnly: true,
        minDate: new Date(),
        dateFormat: 'dd/mm/yy'
    } );
    
    $('#frmListadoReunion input[type="checkbox"]').click(function(){
       var valor = $(this).attr('id');
       $('#frmListadoReunion input[type="checkbox"]').attr('checked',false);
       $('#'+valor).prop( "checked", true );
   });
   if( $('input[name="nombre_pagina"]').val() == null    ){
    //CARGAR LISTADO DE USUARIOS
    var mapParameter={};
    mapParameter['metodo'] = 'tokenReunion';
    mapParameter['strpv_codigoReunion'] = $('input[name="strpv_codigoReunion"]').val();
    $.ajax({
         url:  'ServletObtener',
         dataType: 'json',
         data: mapParameter,  
         success: function(data){
             $("#demo-input-local-custom-formatters").tokenInput( data.lst_empleadoToken, {
               propertyToSearch: "strpv_nombreUsuario",
               theme: "facebook",
               //tokenLimit: 1,
               prePopulate : data.lst_preEmpleadoToken ,
               //preventDuplicates: true,
               resultsFormatter: function(item){ return "<li>" +  "<div style='display: inline-block; padding-left: 10px;'><div class='full_name'>" + item.strpv_nombreUsuario + "</div><div class='email'>" + " Seguridad /  Informatica / Polinsumos " + "</div></div></li>" },
               tokenFormatter: function(item) { return "<li><p>" + item.strpv_nombreUsuario + "</p></li>" }

           });
         }
    });
   }
   $('#btnAgregar').click(function(){
        
       $("#frmListadoReunion").attr("action", "ServletConsulta?metodo=pagina&a=frmReunion");
       $("input[name='accion']").val('agregar');
       $("#frmListadoReunion").submit();
   });   
   
   $('#btnModificar').click(function(){
       var codigo = oTable.fnGetData(hlr)[0];
       $("#frmListadoReunion").attr("action", "ServletConsulta?metodo=pagina&a=frmReunion&i="+codigo);
       $("input[name='accion']").val('modificar');
       $('#frmListadoReunion').submit();
   });
   $('#btnParticipante').click(function(){

       $('#dialog-participantes').dialog("open");
       fnObtenerListadoDeAsistencia();
       
 
   });
    $('#btnAsignacion').click(function(){

        oTableAsignacion=$('#tblAsignacion').dataTable( {
	    "bPaginate": false,
	    "bLengthChange": false,
	    "bFilter": false,
	    "bSort": false,
	    "bInfo": false,
	    "bAutoWidth": false,
	    "bDestroy":true,
	    "sScrollY": "351px",
	    "sAjaxSource": 'ServletDataTable?strpv_tipoListado=dtpv_asignacion&strpv_codigoReunion='+ oTable.fnGetData(hlr)[0] ,
	    "aoColumns": [
	        { "sTitle": "codigo_asignacion"  ,"bVisible": false },
                { "sTitle": "codigo_reunion"  ,"bVisible": false },
                { "sTitle": "Acuerdo" ,"sWidth" : "60%", "sClass": "alignLeft" },
                { "sTitle": "Fecha Plazo" , "sWidth" : "20%"},
                { "sTitle": "" , "sWidth" : "5%" },
                { "sTitle": "" , "sWidth" : "5%" }
	    ]
	});	
       
       
       
       
       $('#dialog-asignacion').dialog("open");
 
   });   


  function fn_obtenerDatosdelFormulario(){
       var strpv_listUsuario = convertTokenToString($('#demo-input-local-custom-formatters').tokenInput('get'));

       var mapParameter = {};
       mapParameter['metodo'] = 'frmReunion';//'actualizarUsuario';
       mapParameter['strpv_codigoReunion'] = $('input[name="strpv_codigoReunion"]').val();
       mapParameter['strpv_nombreReunion'] = $('input[name="strpv_nombreReunion"]').val();
       mapParameter['strpv_descripcionReunion'] = $('input[name="strpv_descripcionReunion"]').val();
       mapParameter['strpv_listUsuario'] = strpv_listUsuario
       mapParameter['strpv_fechaReunion'] = $('input[name="strpv_fechaReunion"]').val();
       mapParameter['strpv_horaReunion'] = $('input[name="strpv_horaReunion"]').val();
       return mapParameter;
      
  }
  function obtenerUsuarioString(){
      var arr = new Array();
      var map={};
      map["id"] = "7";
      map["strpv_nombreUsuario"] = "Pooley";
      
      arr[arr.length] = map;
      
      $.ajax({
            type: "POST",
            url: 'ServletMantenimiento',
            data: mapParameter,            
            async : true,
            dataType: "json",
            success: function( obj ){
                $('.successbox').show();//Hide the div
                $(".successbox").fadeOut(4000);
                
                $('input[name="strpv_codigoReunion"]').val( obj.strpv_codigoReunion );
                
            }
        });
        
      return arr;
  }
   $('#btnCancelar').click(function(){
       location.href = "ServletConsulta?metodo=pagina&a=reunion";
   });
    $('#btnGuardar').click(function(){
        $.ajax({
            type: "POST",
            url: 'ServletMantenimiento',
            data: fn_obtenerDatosdelFormulario(),            
            async : true,
            dataType: "json",
            success: function( obj ){
                $('.successbox').show();//Hide the div
                $(".successbox").fadeOut(4000);
                $('input[name="strpv_codigoReunion"]').val( obj.strpv_codigoReunion );
                
            }
        });
    });
    $("#btnEliminar").click(function() {
        $( "#dialog-confirm" ).dialog("open");
    });    
    $('#btnGuardarCerrar').click(function(){
        $.ajax({
            type: "POST",
            url: 'ServletMantenimiento',
            data: fn_obtenerDatosdelFormulario(),            
            async : true,
            dataType: "json",
            success: function( obj ){
                $('.successbox').show();//Hide the div
                $(".successbox").fadeOut(4000);
                $('input[name="strpv_codigoReunion"]').val( obj.strpv_codigoReunion );
                location.href = "ServletConsulta?metodo=pagina&a=reunion";
            }
        });
    });    


});

function fnEditarAsignacion(codigo_asignacion){

       var mapParameter = {};
       mapParameter['metodo'] = 'form_asignacion';
       mapParameter['accion'] = 'obtener';
       mapParameter['strpv_codigoAsignacion'] = codigo_asignacion

        //--OBTENEMOS PARTICIPANTES
        $('#dialog-asignacion-div').html('');
        var sText = '';
        var map= {};
        map['metodo'] = 'obtenerListadoParticipantes';
        map['strpv_codigoReunion'] = oTable.fnGetData(hlr)[0];
        $.ajax({
            type: "POST",
            url: 'ServletObtener',
            data: map,            
            async : true,
            dataType: "json",
            success: function( lst ){

                $.each(lst, function(index, obj) {    
                    sText += '<br/><input type="checkbox" name="checkUsers" value="'+obj.strpv_codigoEmpleado+'">'+obj.strpv_nombreEmpleado+''                
                });

                $('#dialog-asignacion-div').html(sText);
            }
        });
       $.ajax({
            type: "POST",
            url: 'ServletMantenimiento',
            data: mapParameter,            
            async : true,
            dataType: "json",
            success: function( obj ){
           
                $('input[name="strpv_codigoAsignacion"]').val(obj.strpv_codigoAsignacion);
                $('input[name="strpv_codigoReunion"]').val(obj.strpv_codigoReunion);
                $('input[name="asignacion_strpv_nombre"]').val(obj.strpv_nombreAsignacion);
                $('input[name="asignacion_strpv_descripcion"]').val(obj.strpv_descripcionAsignacion);
                $('input[name="strpv_fechaEstimada"]').val( obj.strpv_fechaPlazo);
                        //  obj.strpv_lstUsuario
                $( '#dialog-form-asignacion' ).dialog( "open" );
            }
        });    
}

function fnEliminarAsignacion(codigo_asignacion){
        
    tipo_confirmacion = "confirmacion_asignacion";
    vgl_var = codigo_asignacion;
    $('#dialog-confirm').dialog("open");
    $('#dialog-mensaje').html('Esta seguro de eliminar el acuerdo ?');   
    
}
function fnRegistrarAsistencia( obj ){
    var mapParameter= {};
    mapParameter['metodo'] = 'registrarAsistenciaEmpleado';
    mapParameter['strpv_codigoEmpleado'] = $(obj).attr('lng');
    mapParameter['strpv_codigoReunion'] = oTable.fnGetData(hlr)[0];
    $.ajax({
        type: "GET",
        url: 'ServletMantenimiento',
        data: mapParameter,            
        async : true,
        dataType: "json",
        success: function(obj){
            fnObtenerListadoDeAsistencia();
        }
    });
}
   function fnObtenerListadoDeAsistencia(){
        var sText = '';
        var mapParameter= {};
        mapParameter['metodo'] = 'obtenerListadoParticipantes';
        mapParameter['strpv_codigoReunion'] = oTable.fnGetData(hlr)[0];
        $.ajax({
            type: "GET",
            url: 'ServletObtener',
            data: mapParameter,            
            async : true,
            dataType: "json",
            success: function( lst ){
                sText += '<table>'
                $.each(lst, function(index, obj) {
                    sText += '<tr>'
                    sText += '<td>'+obj.strpv_nombreEmpleado+'</td>'
                    
                    if( obj.strpv_estadoAsistencia == "AS" ){
                         sText += '<td>'+obj.strpv_fechaAsistencia+'</td>'
                    } else {
                        if( obj.setStrpv_estadoEdicionAsistencia == "ED" ){
                            sText += '<td><input type="button" onclick="fnRegistrarAsistencia(this);" id="btnRegistrarAsistencia" lng="'+obj.strpv_codigoEmpleado+'" class="butt-form" value="registrar"></td>'    
                        } else {
                            sText += '<td>No asistio</td>';
                        }
                    }

                    sText += '</tr>'
                //alert(obj.strpv_codigoEmpleado);
                });
                sText += '</table>'
                $('#div-content-asistencia').html(sText);
            }
        });
   }